﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using ENT.GP.Core.Lookup;
using ENT.GP.Core;
using ENT.GP.Core.Proyecto;
using Ext.Net;
using System.Configuration;
using entgp.Code;

public partial class Proyectos_Legal_WiewProyecto_ce : PaginasUsuario
{
   
    protected void Page_Load(object sender, EventArgs e)
    {
        //if (!UtilP.CompruebaIngreso(Session.Count)) Response.Redirect("../../Default.aspx") ;
        if (!IsPostBack)
        {
           
            EstadoProyectoLookup.InvalidateCache();
            TipoLookup.InvalidateCache();
            EjesLookup.InvalidateCache();
            ProgramaLookup.InvalidateCache();
            StoreEstado.DataSource = EstadoProyectoLookup.GetNameValueList(this.IdEmp);
            StoreEstado.DataBind();
            StoreTipo.DataSource = TipoLookup.GetNameValueList(this.IdEmp);
            StoreTipo.DataBind();
            StoreEje.DataSource = EjesLookup.GetNameValueList(this.IdEmp);
            StoreEje.DataBind();
            StoreProgramas.DataSource = ProgramaLookup.GetNameValueList(this.IdEmp);
            StoreProgramas.DataBind();
            
            //
            cbxEje.FieldLabel = ManejadorRecursos.GetRecurso("LblEje");
            cbxProgramas.FieldLabel = ManejadorRecursos.GetRecurso("LblPrograma");
        }
    }
    /// <summary>
    /// Invoca metodo para actualizar datos de la grid
    /// </summary>
    private static void CallRefreshGrid()
    {
        X.Js.AddScript("#{StoreProyectos}.load();");
    }
    protected void StoreRefresh(object sender, StoreRefreshDataEventArgs e)
    {
        ProyectoCriterio criterio = ProyectoCriterio.NewProyectoCriterio();
        var vCbxProgramas  = e.Parameters["cbxProgramas_bprm"];
        int iCbxProgramas  = 0;
        var vCbxEje        = e.Parameters["cbxEje_bprm"];
        int iCbxEje        = 0;
        var vCbxCategorias = e.Parameters["cbxCategorias_bprm"];
        int iCbxCategorias = 0;
        var vCbxEstado     = e.Parameters["cbxEstado_bprm"];
        int iCbxEstado     = 0;
        
        int.TryParse(vCbxProgramas, out iCbxProgramas);
        int.TryParse(vCbxEje, out iCbxEje);
        int.TryParse(vCbxCategorias, out iCbxCategorias);
        int.TryParse(vCbxEstado, out iCbxEstado);
        
        criterio.ProgramaId = iCbxProgramas;
        criterio.EjeId      = iCbxEje;
        criterio.TipoId     = iCbxCategorias;
        criterio.EstadoId   = iCbxEstado;

        criterio.Nombre    = e.Parameters["txtNombrePrograma_bprm"];
        criterio.IdEmpresa = this.IdEmp;
        StoreProyectos.DataSource = ProyectoLista.GetProyectoLista(criterio);
        StoreProyectos.DataBind();
    }
    
    
    /*
    protected void btnBuscar_Click(object sender, DirectEventArgs e)
    {
        try
        {
            BindDataSearch();
        }
        catch { }
    }
    /// <summary>
    /// Busqueda general
    /// </summary>
    public void BindDataSearch()
    {
        ProyectoCriterio criterio = ProyectoCriterio.NewProyectoCriterio();
        if (cbxProgramas.SelectedIndex == -1)
            criterio.ProgramaId = 0;
        else
            criterio.ProgramaId = Convert.ToInt32(cbxProgramas.SelectedItem.Value);

        if (cbxEje.SelectedIndex == -1)
            criterio.EjeId = 0;
        else
            criterio.EjeId = Convert.ToInt32(cbxEje.SelectedItem.Value);

        if (cbxCategorias.SelectedIndex == -1)
            criterio.TipoId = 0;
        else
            criterio.TipoId = Convert.ToInt32(cbxCategorias.SelectedItem.Value);

        if (cbxEstado.SelectedIndex == -1)
            criterio.EstadoId = 0;
        else
            criterio.EstadoId = Convert.ToInt32(cbxEstado.SelectedItem.Value);

        criterio.Nombre = txtNombrePrograma.Text;
        criterio.IdEmpresa = this.IdEmp;
        StoreProyectos.DataSource = ProyectoLista.GetProyectoLista(criterio);
        StoreProyectos.DataBind();
    }   
    */
    

    protected void Editar_Click(object sender, DirectEventArgs e)
    {
        try
        {
            wucLegal1.Show( Convert.ToInt32(e.ExtraParams["id"].ToString()));
        }
        catch (Exception ex)
        {
            X.Msg.Show(new MessageBoxConfig
            {
                Buttons = MessageBox.Button.OK,
                Icon = MessageBox.Icon.ERROR,
                Title = "Fallo",
                Message = "Ocurrio un error"
            });
            System.Text.Encoding encod = System.Text.Encoding.UTF8;
            System.IO.FileStream log = System.IO.File.Open(ConfigurationManager.AppSettings.Get("PathLog"), System.IO.FileMode.Append);
            log.Write(encod.GetBytes(ex.Message), 0, encod.GetByteCount(ex.Message));
            log.Close();
        }
    }
}
